package com.zb.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zb.entity.ZjWorkDetail;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * <p>
 * 工单信息表 Mapper 接口
 * </p>
 *
 * @author WEN
 * @since 2023-09-20
 */
@Repository
public interface ZjWorkDetailMapper extends BaseMapper<ZjWorkDetail> {

    /**
     * 清除工单派单到服务商的时间
     * @param id 工单ID
     */
    int updateDispatchTimeById(@Param("id") Long id);

    /**
     * 根据工单ID更新工单事件
     * @param detail 工单对象
     */
    int updateOrderEventById(@Param("detail") ZjWorkDetail detail);

    /**
     * 根据处理方式ID查询
     * @param wayIds
     * @return 返回关联工单的处理方式ID
     */
    List<Long> getByWayIds(@Param("wayIds") List<Long> wayIds);

    /**
     * 根据分类ID获取
     * @param typeIds
     * @return 返回关联的工单分类ID
     */
    List<Long> getByTypeIds(@Param("typeIds") List<Long> typeIds);

    /**
     * 根据服务人员ID获取未预约工单数量
     * @param custAccId 商家ID
     * @param networkId 服务商ID
     * @param networkEmpId 服务人员ID
     * @return
     */
    long getNotReservationOrderQty(@Param("custAccId") Long custAccId, @Param("networkId") Long networkId, @Param("networkEmpId") Long networkEmpId);


}
